1. Field of the Invention
The present invention relates to an optical disk reading device, and in particular, to a track jumping method for an optical recording medium. In particular, the present invention pertains to a track jumping method for an optical head that can be used when the address of the present location of the optical head and the target address are in different data layers.
2. Description of the Prior Art
FIGS. 1(a) and 1(b) are cross-sectional views illustrating a conventional single-layer disk and a conventional double-layer disk, respectively. The currently-available optical recording medium (i.e., disks) can be classified into two types, a single-layer disk 10 and a double-layer disk 20. For the single-layer disk 10 shown in FIG. 1(a), the digital data is recorded on a data (reflection) layer 12, which is covered by a plastic layer 14. For the double-layer disk 20 shown in FIG. 1(b), the digital data can be stored in two data (reflection) layers 22 and 24, which are covered by a plastic layer 26.
FIG. 2 is a top view of a single-layer disk. Generally speaking, the starting point of the tracks (address of starting point: 0x00000) of a conventional single-layer disc 10 is on the innermost circle of the single-layer disk 10. The tracks radiate outwardly in the form of a continuous spiral from the innermost circle. A calculation function is usually placed in general firmware for calculating the number of tracks between the address of the present location of the optical head and the target address, as well as the direction of movement of the optical head, after the address where the optical head is located and the target address are input. The servo-control system in the disk driver can control the optical head to jump over a specified number of tracks in a specified direction according to the aforementioned calculated number of tracks and movement direction to reach the target address. This calculation function is valid only when the starting point of the tracks is on the innermost circle of the disk. Therefore, if the starting point of the tracks (address of starting point: 0x00000) is not on the innermost circle of the disk, this function will generate errors and therefore cannot be used.
FIG. 3 illustrates the relative position of each layer in an ideal double-layer disk. In FIG. 3, the tracks that are distributed outwardly in a spiral are represented instead as linear tracks. Ideally, the starting point of the tracks (address of starting point: 0x00000) of the two upper and lower data layers of an ideal double-layer disk is on the innermost circle of the disk. The relative address of the second data layer that is directly above the address of the starting point (0x00000) of the first data layer should also be the address of the starting point (0x00000). Similarly, the address of the first data layer at any position should be the same as the relative address of the second data layer at the corresponding position directly above. For example, the corresponding address positions (0x22ff00) of the upper and lower data layers should is be the same.
A conventional double-layer disk uses the following access track-jumping method. First, it is assumed that the optical head is located at address 0x30000 on the first data layer, while the target address is 0x22ff00 on the second data layer. With this assumption in place, the following steps are usually carried out:
First Step: Read the address on the first data layer where the optical head is located (0x300000);
Second Step: Focus and jump to the second data layer;
Third Step: Read the relative address (0x30000) on the second data layer at the corresponding position directly above the first data layer;
Fourth Step: Input (i) the relative address (0x30000) where the optical head is located on the second data layer, and (ii) the target address (0x22ff00) on the second data layer, to a calculation function and calculate the number of tracks between these two addresses as well as the movement direction of the optical head;
Fifth Step: The servo-control system of the disk driver controls the optical head to reach the target address according to the calculated number of tracks and movement direction of the optical head.
To move the optical head from the address where the optical head is located on a specific data layer to the target address on the other data layer, it is first necessary to focus and jump from the original data layer to the other data layer and read the relative address, followed by track jumping on the other data layer. When the optical head jumps over tracks on a certain data layer, the aforementioned calculation function will be used. The relative address where the optical head is located, and the target address, are input into the calculation function to calculate the number of tracks between the two addresses and the movement direction of the optical head so that the optical head can be controlled to reach the target address. The calculation function is applicable to each data layer of the ideal double-layer disk.
Unfortunately, in an actual double-layer disk, the relative addresses between layers are not necessarily consistent, and address shifts might occur. FIG. 4 illustrates the case in which the starting point of a data layer (address of starting point: 0x00000) in a double-layer disk is not on the innermost circle of the disk. The starting point of the tracks (address of starting point: 0x00000) of disk 20 is not on the innermost circle of disk 20, wherein the tracks radiate outwardly in a spiral. To illustrate this, assume that the tracks of the first data layer of the double-layer disk are as shown in FIG. 2, while the tracks of the second data layer of the same double-layer disk are as shown in FIG. 4. FIG. 5 shows the relative positions of each layer of the double-layer disk with the address shift. In FIG. 5, the two tracks that are distributed outwardly in the form of a spiral are shown as linear tracks.
For example, in the case of FIG. 5, it is assumed that the optical head is currently located at address 0x30000 on the first data layer, while the target address is at 0x22ff00 on the second data layer. First, the address where the optical head is located on the first data layer (0x30000) is read. Then, the optical head is focused and jumps to the second data layer. The relative address (0x1f000) on the second data layer at the corresponding position directly above the first data layer is then read. Then, the relative address (0x1f000) where the optical head is located on the second data layer and the target address (0x22ff00) on the second data layer are input into the calculation function to calculate the number of tracks between these two addresses and the movement direction of the optical head. The number of tracks and the movement direction of the optical head calculated by using the calculation function are valid only when the starting point of the tracks is on the innermost circle of the disk. However, since the starting point of the track of the first data layer is not on the innermost circle of the disk, the input number of tracks between the relative address (0x1f000) of the first data layer and the target address (0x22ff00), as well as the movement direction of the optical head, will contain certain errors. If the servo-control system of the disk driver controls the optical head according to the calculated number of tracks with these errors, the access accuracy will deteriorate, and the optical head will be unable to jump to the correct target address.